#include <iostream>

class Singleton
{
    public:
        ~Singleton()
        {

        }

        void test()
        {
            std::cout<<"6666"<<std::endl;
        }
        //必须创建为静态，因为这个类无法创建对象（构造函数被设为私有），想要
        //获取sg只能通过静态方法
        static Singleton* getsg();
    private:
        Singleton()
        {}
        static Singleton* sg;

};

Singleton* Singleton::sg = new Singleton();
Singleton* Singleton::getsg()
{
    return sg;
}

int main()
{
    /*
     *错误记录：sg为私有属性，上面的初始化是初始化了，但是依旧无法直接使用
    sg.test();
    i*/ 
    Singleton* a = Singleton::getsg();
    a->test();
    return 0;
}

